/***********************************************************************************
 * 文件名： mcu_itm.c
 * 作者： 刘言
 * 版本： 1
 * 说明：
 * 		ITM驱动。
 * 修改记录：
 * 	2023/4/18: 初版。 刘言。
***********************************************************************************/
#include "mcu.h"
#include <string.h>
#include <stdio.h>

// 必须定义这个变量给CMSIS使用才能正常使用 ITM_CheckChar ITM_ReceiveChar
volatile int32_t ITM_RxBuffer = ITM_RXBUFFER_EMPTY;


#if ITM_REPLACE_STDIO == 1

struct __FILE { int handle; /* Add whatever you need here */ };
FILE __stdout;
FILE __stdin;

int fputc(int c, FILE *f)
{ 
	return ITM_SendChar(c);
}

int fgetc(FILE *f)
{
	while(ITM_CheckChar() != 1)
	{
		ITM_GET_WAIT();
	}
	return ITM_ReceiveChar();
}

// int ferror(FILE *f)
// {
// 	return EOF;
// }

// void _ttywrch(int c)
// {
// 	fputc(c, stdout);
// }

// int __backspace()
// {
// 	return 0;
// }

#endif

